package com.aloda.utils;

import org.springframework.web.multipart.MultipartFile;


import java.util.Arrays;
import java.util.List;


public class FileCheckUtils {
    private static final long MAX_FILE_SIZE = 2 * 1024 * 1024;
    private static final List<String> ALLOWED_FILE_TYPES = Arrays.asList("jpg", "png");


    /**
     * 检查文件是否符合要求
     * @param file 要检查的文件
     * @return 如果文件符合要求返回 true，否则返回 false
     */
    public static boolean checkFile(MultipartFile file) {
        if (file == null) {
            return false;
        }
        // 检查文件大小
        if (file.getSize() > MAX_FILE_SIZE) {
            return false;
        }
        // 检查文件类型
        String originalFilename = file.getOriginalFilename();
        if (originalFilename == null) {
            return false;
        }
        String fileExtension = getFileExtension(originalFilename);
        return ALLOWED_FILE_TYPES.contains(fileExtension);
    }


    /**
     * 获取文件的扩展名
     * @param originalFilename 原始文件名
     * @return 文件的扩展名
     */
    private static String getFileExtension(String originalFilename) {
        int lastIndex = originalFilename.lastIndexOf(".");
        if (lastIndex == -1) {
            return "";
        }
        return originalFilename.substring(lastIndex + 1).toLowerCase();
    }
}
